#include "stdafx.h"
#include "Vector3d.h"

#include "gp_Vec.hxx"
#include "gp_Pnt.hxx"
#include "gp_Ax1.hxx"
#include "gp_Dir.hxx"
void Vector3d::Rotate(const Vector3d& pntAxis, const Vector3d& dirAxis, const ZMReal& fAngle)
{
	gp_Vec ve(x(), y(),z());
	ve.Rotate(gp_Ax1(gp_Pnt(pntAxis[0], pntAxis[1], pntAxis[2]), gp_Dir(dirAxis[0], dirAxis[1], dirAxis[2])), fAngle);
	*this = Vector3d(ve.X(), ve.Y(), ve.Z());
}